package com.tanhua.dubbo.api;

import com.tanhua.domain.mogo.CommonLikeUser;
import com.tanhua.domain.vo.PageResult;

public interface UserLikeApi {
    /*
    * 查询用户喜欢多少人
    @param userId 用户id
    @return userid 喜欢人的数量
    */
    long queryLikeCount(long userId);
    /*
    * 查询用户有多少粉丝（有多少人喜欢这个用户）
    * @param userId 用户id
    * @return 粉丝数量*/
    long queryFansCount (long userId);
    /* 查询好友数量（相互喜欢）
    * @param userid 用户id
    * @return 好友数量*/
    long queryFriendsCount(long userId);

    /**
     * 分页查询好友列表（相互喜欢列表）
     * @param userId 用户id
     * @param page 页码
     * @param pagesize 查询几条
     * @return 分页结果
     */
    PageResult<CommonLikeUser> queryFriendsList(Long userId,int page,int pagesize);
    /**
     * 分页查询喜欢的用户列表
     * @param userId 用户id
     * @param page 页码
     * @param pagesize 查询几条
     * @return 分页结果
     */
    PageResult<CommonLikeUser> queryLikeList(Long userId, int page, int pagesize);

    /**
     * 分页查询粉丝列表
     * @param userId 用户id
     * @param page 页码
     * @param pagesize 查询几条
     * @return 分页结果
     */
    PageResult<CommonLikeUser> queryFansList(Long userId, int page, int pagesize);

    /**
     * 分页查询来访者
     * @param userId 用户id（被访问者）
     * @param page 页码
     * @param pagesize 查询几条
     * @return 分页结果
     */
    PageResult<CommonLikeUser> findVisitorList(Long userId, int page, int pagesize);

    /**
     * 删除对某一用户的喜欢
     * @param userId 用户id
     * @param likeUserId 将要取消喜欢的用户id
     */
    void delete(Long userId, Long likeUserId);
}
